/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sarco.bwi.lib;

import java.util.Date;

/**
 * @since v0.0.5a
 * @author Andre
 */
public class Job {

    /**
     * The id of the job from the mysql database table 'job'.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private int idjob;
    /**
     * The ip of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String clientip;
    /**
     * Wether or not the job is allready taken.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private boolean taken;
    /**
     * The frame to render from for this job.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private int startframe;
    /**
     * The frame to end the render.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private int endframe;
    /**
     * How many percent done the client is.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private int percentdone;
    /**
     * Wether or not to abort the current render job.
     * @see com.sarco.bwi.lib.mysql.Database
     **/
    private boolean abortrequested;
    /**
     * The Operating System of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String clientos;
    /**
     * The CPU of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String clientcpu;
    /**
     * The power of the CPU.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String clientcpupower;
    /**
     * How much memory (RAM) the client associeted with this job has.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String clientmemory;
    /**
     * Approx. time left for the render to be finished.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private String timeleft;
    /**
     * The date (time) the render started.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private Date timestarted;
    /**
     * The date (time) the render finished.
     * @see com.sarco.bwi.lib.mysql.Database
     */
    private Date timefinished;
    /**
     * The hostname of the client associeted with this render job.
     */
    private String clienthostname;

    /**
     * The id of the job from the mysql database table 'job'.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the idjob
     */
    public int getIdjob() {
        return idjob;
    }

    /**
     * The id of the job from the mysql database table 'job'.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param idjob the idjob to set
     */
    public void setIdjob(int idjob) {
        this.idjob = idjob;
    }

    /**
     * The ip of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the clientip
     */
    public String getClientip() {
        return clientip;
    }

    /**
     * The ip of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param clientip the clientip to set
     */
    public void setClientip(String clientip) {
        this.clientip = clientip;
    }

    /**
     * Wether or not the job is allready taken.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the taken
     */
    public boolean isTaken() {
        return taken;
    }

    /**
     * Wether or not the job is allready taken.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param taken the taken to set
     */
    public void setTaken(boolean taken) {
        this.taken = taken;
    }

    /**
     * The frame to render from for this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the startframe
     */
    public int getStartframe() {
        return startframe;
    }

    /**
     * The frame to render from for this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param startframe the startframe to set
     */
    public void setStartframe(int startframe) {
        this.startframe = startframe;
    }

    /**
     * The frame to end the render.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the endframe
     */
    public int getEndframe() {
        return endframe;
    }

    /**
     * The frame to end the render.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param endframe the endframe to set
     */
    public void setEndframe(int endframe) {
        this.endframe = endframe;
    }

    /**
     * How many percent done the client is.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the percentdone
     */
    public int getPercentdone() {
        return percentdone;
    }

    /**
     * How many percent done the client is.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param percentdone the percentdone to set
     */
    public void setPercentdone(int percentdone) {
        this.percentdone = percentdone;
    }

    /**
     * Wether or not to abort the current render job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the abortrequested
     */
    public boolean isAbortrequested() {
        return abortrequested;
    }

    /**
     * Wether or not to abort the current render job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param abortrequested the abortrequested to set
     */
    public void setAbortrequested(boolean abortrequested) {
        this.abortrequested = abortrequested;
    }

    /**
     * The Operating System of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the clientos
     */
    public String getClientos() {
        return clientos;
    }

    /**
     * The Operating System of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param clientos the clientos to set
     */
    public void setClientos(String clientos) {
        this.clientos = clientos;
    }

    /**
     * The CPU of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the clientcpu
     */
    public String getClientcpu() {
        return clientcpu;
    }

    /**
     * The CPU of the client who has this job.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param clientcpu the clientcpu to set
     */
    public void setClientcpu(String clientcpu) {
        this.clientcpu = clientcpu;
    }

    /**
     * The power of the CPU.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the clientcpupower
     */
    public String getClientcpupower() {
        return clientcpupower;
    }

    /**
     * The power of the CPU.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param clientcpupower the clientcpupower to set
     */
    public void setClientcpupower(String clientcpupower) {
        this.clientcpupower = clientcpupower;
    }

    /**
     * How much memory (RAM) the client associeted with this job has.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the clientmemory
     */
    public String getClientmemory() {
        return clientmemory;
    }

    /**
     * How much memory (RAM) the client associeted with this job has.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param clientmemory the clientmemory to set
     */
    public void setClientmemory(String clientmemory) {
        this.clientmemory = clientmemory;
    }

    /**
     * Approx. time left for the render to be finished.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the timeleft
     */
    public String getTimeleft() {
        return timeleft;
    }

    /**
     * Approx. time left for the render to be finished.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param timeleft the timeleft to set
     */
    public void setTimeleft(String timeleft) {
        this.timeleft = timeleft;
    }

    /**
     * The date (time) the render started.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the timestarted
     */
    public Date getTimestarted() {
        return timestarted;
    }

    /**
     * The date (time) the render started.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param timestarted the timestarted to set
     */
    public void setTimestarted(Date timestarted) {
        this.timestarted = timestarted;
    }

    /**
     * The date (time) the render finished.
     * @see com.sarco.bwi.lib.mysql.Database
     * @return the timefinished
     */
    public Date getTimefinished() {
        return timefinished;
    }

    /**
     * The date (time) the render finished.
     * @see com.sarco.bwi.lib.mysql.Database
     * @param timefinished the timefinished to set
     */
    public void setTimefinished(Date timefinished) {
        this.timefinished = timefinished;
    }

    /**
     * The hostname of the client associeted with this render job.
     * @return the clienthostname
     */
    public String getClienthostname() {
        return clienthostname;
    }

    /**
     * The hostname of the client associeted with this render job.
     * @param clienthostname the clienthostname to set
     */
    public void setClienthostname(String clienthostname) {
        this.clienthostname = clienthostname;
    }
}
